home *** CD-ROM | disk | FTP | other *** search
- Path: informatik.tu-muenchen.de!fischerj
- From: fischerj@informatik.tu-muenchen.de (Juergen "Rally" Fischer)
- Newsgroups: comp.sys.amiga.programmer
- Subject: Re: doubling pixels horizontally
- Date: 29 Feb 1996 15:59:50 GMT
- Organization: Technische Universitaet Muenchen, Germany
- Distribution: world
- Message-ID: <4h4ihm$mul@sunsystem5.informatik.tu-muenchen.de>
- References: <4f4ibc$gl9@news.cs.tu-berlin.de> <591.6610T1165T2102@login.eunet.no><1045.6611T753T2256@vip.cybercity.dk><4faoe1$47@sunsystem5.informatik.tu-muenchen.de><2991.6612T1034T625@vip.cybercity.dk><576.6613T1070T1730@login.eunet.no><1257.6614T57T922@vip.cybercity.dk><1982.6617T1096T103@ifi.uio.no><4gbjg3$104@sunsystem5.informatik.tu-muenchen.de> <4518.6625T1142T92@ifi.uio.no> <5073.6626T469T1290@login.eunet.no> <2824.6626T859T1819@ifi.uio.no>
- NNTP-Posting-Host: hphalle2i.informatik.tu-muenchen.de
- Originator: fischerj@hphalle2i.informatik.tu-muenchen.de
-
-
- In article <2824.6626T859T1819@ifi.uio.no>, ludvigp@ifi.uio.no (Ludvig Pedersen) writes:
-
- |> >>there is easy to get an overview.
- |> >Like using structures. :)
- |> Yes, that's good! :)
- Then I go C anyway...
- |
- |> >>[...]
- |> >> move.l #$00e1fffe,d4 : or.l d2,d4 ;WAS: 00df
- |> >> movem.l (sp)+,d0-d7/a1-a6 ;a0=(ptr)copl
- |> >> rts
- |> >Whow! What a mess. :)
- grrrrrrrrrrrrrrrrrrrrrrrrrrrrr :)
-
- |> I don't think you are the only one which agree's about that! ;)
- |>
- stop it people :)
- oki its trash for the whole world, I got it, but it helps me a lot.
-
- |> >>that we are taking about 2x2 without sprite-dithering!!
- |> >He forgot that it was 2xn
- |> He probably did.
- uh what ? 2xY ? my code can do :)
-
- |> If you set a flag in CleanUp: and are polling this flag with CPU to see if the
- |> blitter is finish. It might never finish because you task uses all the CPU-
- |> time. and CleanUp is never run.
- |>
- |> Don't do this:
- |>
- |> .QCleanup:
- |> move.l #-1,_BlitterIsDone
- |> moveq #0,d0
- |> rts
- |>
- |> and this
- |>
- |> while(!BlitterIsDone); //infinite wait loop.
- |>
- |> ------------------------------------------------------
- |> Send a signal instead!
- |>
- |> Here is my code. (It works!)
-
- yeppeee a _CODE_ :) THANX :)
-
- |>
- |> .QCleanUp:
- |> move.l #-1,_BlitterIsDone
- |> movem.l d0-a6,-(sp)
- |> move.l _BltPort,a0
- |> moveq.l #0,d0
- |> move.b MP_SIGBIT(a0),d1
- |> bset d1,d0
- |> move.l 4.w,a6
- |> move.l _Task,a1
- |> CALL Signal(a6)
- |> movem.l (sp)+,d0-a6
- |>
- |> moveq #0,d0
- |> rts
- |>
- |> And this:
- |>
- |> while(!BlitterIsDone)
- |> Wait(1l<<(BltPort->mp_SigBit));
- |>
- |>
- |> Now your task will be in wait-state until the blitter is finished.
- |>
- |> Problem solved! :)
- |>
- |>
- |> <sb>Ludde - Amiga Demo Coder
- |> <sb>Virtual Reality & Official Be developer
- |> <sb>ludvigp@ifi.uio.no
- |>
- ------------------------------------------------------------------------
- fischerj@Informatik.TU-Muenchen.DE (Juergen "Rally" Fischer) =:)
-
-